High speed serial digital data information is often transmitted between nodes using synchronous, asynchronous or plesiochronous systems. Systems having synchronous frequency references, i.e., SONET systems, are typically expensive to operate. Lower cost data communications systems, i.e., DATACOM systems, can rely on plesiochronous systems. In plesiochronous systems, each node generally includes a local clock generated from a local frequency reference. The local clock typically has a small frequency difference (e.g., 100–200 ppm) from the incoming data frequency.
FIG. 1 illustrates, in block format, a conventional plesiochronous system 100 having a first node 101 and a second node 102. Node 101 has a local frequency reference, “Fref1”, and node 102 has a local frequency reference, “Fref2”. Each node, 101 and 102, also includes a synchronous digital subsystem, 104 and 105 respectively, based upon a clock rate (“Fc”) derived from the local frequency reference. Node 101 transmits data at a frequency of Fc1 and node 102 receives the data. Node 102 has a clock rate of Fc2 which is close to the frequency of Fc1, but as is common in a plesiochronous system, Fc1 and Fc2 are generally not exactly equal. In order for node 102 to use the data at its clock rate of Fc2, frequency compensation must be performed on the Fc1 data stream when the rates are not the same.
FIG. 2 illustrates one common technique for frequency compensation using skip symbols. To accommodate the frequency rate compensation at each node, data communications receivers often employ protocols where bits are either added or removed from the incoming frequency stream. The compensation bits are called “skip symbols.” For example, if the incoming frequency, Fc1, is faster than the local clock rate, Fc2, skip symbols are deleted from the stream to effectively “slow down” the stream. Alternatively, if the incoming frequency is slower than the local clock rate, skip symbols are inserted in the stream to “speed up” the flow.
Typical data communications systems reserve valid windows where the skip symbols can be added or removed. The number of reserved symbols in each window and the frequency of occurrence of these skip symbol add/remove windows determines the rate differences that can be accommodated. In general, there is a limited number of reserved symbols available in each window. For example, in Infiniband™ systems, there are only five symbols available for retiming. This means that for each data frame a maximum of five skip symbols can be added. Of course, for every skip symbol that is removed, a skip symbol can be added at the next retiming station. While there are generally five spaces or symbols available, one space must be reserved for frequency compensation at the end or last node and the remaining spaces are half filled with skip symbols. In other words, a typical data communications system is capable of adding up to two or deleting up to two skip symbols between the beginning and the end node. The fifth space must be reserved for any rate compensation needed at the last node (e.g., in a chain of nodes) to use the received data at the rate of the last node.
In wired data communication systems, the data between the nodes is typically transmitted over channels that include, for example, a printed circuit board, a coaxial cable, an optical fiber, or any combination thereof. The distance the data can be communicated over the channel is dependent upon the signal integrity, channel loss characteristics, noise and interference. Each of these factors affect the receiving end's (end node) ability to recover the clock and data at the required bit error rate (BER). In high data rate systems, the signal can become noisy (increased jitter) and attenuated as the signals traverse down the channel. This situation is commonly called “closed data eye.”
The amount of eye closure is determined by the jitter from different sources such as the jitter in the input, jitter in the transmitter clock, finite rise and fall times, power supply and thermal noise, and bandwidth limitation and reflections in the interconnect. Since the effect of jitter is cumulative, jitter from all sources must be considered in determining the eye closure at the receiver, also referred to as the “jitter budget.” The contribution of the input jitter to the output jitter is characterized by the jitter transfer, which is defined as the ratio of output jitter to input jitter as a function of the jitter frequency. In phase locked loop clock and data recovery systems, it is possible for the jitter transfer to be greater than unity, where the additional output jitter exceeds the input jitter at certain frequencies. The amount by which the additional output jitter exceeds the input jitter is defined as “jitter peaking.” If the input jitter does not contribute to the output jitter, then the jitter budget is said to have been reset.
Retiming repeaters are commonly used at the receiving ends or in series with the channel to extend the distance the signal can travel. Retimers use a clean clock to retime the signal and remove the jitter (noise). The retimer also “opens the data eye” in the horizontal direction. Repeaters amplify the signal and open the data eye in amplitude. Thus, retiming repeaters both reset the jitter budget and increase the signal amplitude.
FIG. 3 illustrates, in block format, a data communication system 300 having a number of retiming repeaters 304, 305 in serial data path between a first node 301 and a second node 302. Retimer 304 uses a clean local frequency reference, Fref3, and resets the jitter budget. In a similar manner, retimer 305 uses a clean local frequency reference, Fref4, and resets the jitter budget. Fref3 and Fref4 are generally not at the same frequency. For simplification, two retiming repeaters are shown in system 300, however it should be realized that more or less may be used in a practical system.
In general, retiming repeaters employ the same methodology that the end nodes use to perform rate compensation by adding or deleting skip symbols. However, because the number of bits reserved for skip symbol addition or deletion is fixed in a data communication systems, there is a limit to the number of times a typical retiming repeater can be used between nodes. As previously discussed, there are generally a maximum number of skip symbols that can be used in each window, e.g., Infiniband reserves only five spaces for skip symbols, and one space must be reserved for the last node's use. Thus, the number of times the signal may be retimed is limited to the number of times skip symbols must be added, with the maximum number being two.
With continued reference to FIG. 3, the data rate is changed each time the signal is retimed. For example, node 301 transmits data at Fc1 which is received at retimer 304. The signal is retimed, amplified and transmitted at Fc3 (corresponding to Fref3). Note that Fc1 and Fc3 are generally close in frequency but generally not exact. The data, now at a frequency of Fc3, is received at retimer 305 where it is retimed, amplified and transmitted at Fc4 (corresponding to Fref4). Node 302 receives the data at a frequency of Fc4 and may perform rate compensation in order to use the data at the clock rate of node 302, i.e., Fref2. The entire process may be repeated, only in the opposite direction, for data transmitted from node 302 to node 301.
One alternative to the use of skip symbols, is to recover and filter the clock from the incoming data stream. Because these systems are dependent on filtering the noisy input data clock, jitter peaking occurs due to the jitter transfer characteristics of the filtering. Thus, while these systems do not use addition or deletion of skip symbols during channel travel, they are limited in the number of times the signal can be filtered due to jitter peaking.